﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace ImbedLibrary
{
    public enum SiteVersion
    {
        _0,     // 识别不到网站版本时
        _1,     //| 1.0    | 机构网最早一批网站,估计自主开发的,功能有限
        _1d1,   //| 1.1    | 使用科讯CMS制作的网站
        _1d6,   //| 1.6    | 使用风讯CMS制作的网站
        _1d7,   //| 1.7    | 机构网.net平台开发的网站,具有开发能力的产品
        _1d8,   //| 1.8    | 特指平武科技局,和其它的不符合需要聪聪明明服务支持的网站
        _2,     //| 2.0    | 使用动易asp版本开发的网站
        _2d5,   //| 2.5    | 2012年建站服务部对2.0后台的界面改版
        _3,     //| 3.0    | 在2.5版本基础上进行的代码相似度修改，由别的公司进行的修改，部分功能丢失
        _3d5    //| 3.5    | 修复3.0部分功能
    }

    public static class VersionTools
    {
        public static string ToFormat(this SiteVersion version)
        {
            switch (version)
            {
                case SiteVersion._0:
                    return "0.0";
                case SiteVersion._1:
                    return "1.0";
                case SiteVersion._1d1:
                    return "1.1";
                case SiteVersion._1d6:
                    return "1.1";
                case SiteVersion._1d7:
                    return "1.7";
                case SiteVersion._1d8:
                    return "1.8";
                case SiteVersion._2:
                    return "2.0";
                case SiteVersion._2d5:
                    return "2.5";
                case SiteVersion._3:
                    return "3.0";
                case SiteVersion._3d5:
                    return "3.5";
                default:
                    return "0.0";
            }
        }

        public static SiteVersion ToVersion(this string version)
        {
            switch (version)
            {
                case "1.0":
                    return SiteVersion._1;
                case "1.1":
                    return SiteVersion._1d1;
                case "1.6":
                    return SiteVersion._1d6;
                case "1.7":
                    return SiteVersion._1d7;
                case "1.8":
                    return SiteVersion._1d8;
                case "2.0":
                    return SiteVersion._2;
                case "2.5":
                    return SiteVersion._2d5;
                case "3.0":
                    return SiteVersion._3;
                case "3.5":
                    return SiteVersion._3d5;
            }
            return SiteVersion._0;
        }
    }
}
